package com.meatball.iot.common.mqtt

import com.meatball.core.SpringUtils
import com.meatball.iot.common.mqtt.enums.MqttStrangelyEnum

/**
 * TODO 策略工厂
 *  负责处理topic路由
 *
 * @author 张翔宇
 * @since 2024年6月8日
 */
class StrategyFactory {
    fun getMqttStrategy(mse: MqttStrangelyEnum) : MqttStrategy {
        // 必须获取到Bean，不然实现了无法注入其他bean
        return SpringUtils.getBean(mse.clazz) as MqttStrategy
//        return mse.clazz.getDeclaredConstructor().newInstance() as MqttStrategy
    }
}